import BudgetOrganizationComp from "containers/budget-setting/budget-organization/budget-organization";
import NewBudgetOrganizationComp from "containers/budget-setting/budget-organization/new-budget-organization";
import BudgetOrganizationDetailComp from "containers/budget-setting/budget-organization/budget-organization-detail";
import NewBudgetStructureComp from "containers/budget-setting/budget-organization/budget-structure/new-budget-structure";
import NewBudgetItemComp from "containers/budget-setting/budget-organization/budget-item/new-budget-item";
import BudgetItemDetailComp from "containers/budget-setting/budget-organization/budget-item/budget-item-detail";
import BudgetStructureDetailComp from "containers/budget-setting/budget-organization/budget-structure/budget-structure-detail";
import NewBudgetGroupComp from "containers/budget-setting/budget-organization/budget-group/new-budget-group";
import BudgetGroupDetailComp from "containers/budget-setting/budget-organization/budget-group/budget-group-detail";
import NewBudgetStrategyComp from "containers/budget-setting/budget-organization/budget-strategy/new-budget-strategy";
import BudgetStrategyDetailComp from "containers/budget-setting/budget-organization/budget-strategy/budget-strategy-detail";
import NewBudgetStrategyDetailComp from "containers/budget-setting/budget-organization/budget-strategy/new-budget-strategy-detail";
import StrategyControlDetailComp from "containers/budget-setting/budget-organization/budget-strategy/strategy-control-detail";
import NewBudgetControlRulesComp from "containers/budget-setting/budget-organization/budget-control-rules/new-budget-control-rules";
import BudgetControlRulesDetailComp from "containers/budget-setting/budget-organization/budget-control-rules/budget-control-rules-detail";
import NewBudgetJournalTypeComp from "containers/budget-setting/budget-organization/budget-journal-type/new-budget-journal-type";
import BudgetJournalTypeDetailComp from "containers/budget-setting/budget-organization/budget-journal-type/budget-journal-type-detail";
import BudgetParameterSettingComp from "containers/budget-setting/budget-organization/budget-parameter/budget-parameter-setting";
import BudgetItemMapSettingComp from "containers/budget-setting/budget-organization/budget-item-map/budget-item-map-setting";
import BudgetBalanceSolution from "containers/budget-setting/budget-balance-solution/budget-balance-solution";
import NewBudgetBalanceSolution from "containers/budget-setting/budget-balance-solution/new-budget-balance-solution";

//预算设置
const budgetSetting = {
  key: 'budget-setting',
  icon: 'tags-o',
  admin: true,
  subMenu: [
    //预算组织定义
    {
      key: 'budget-organization',
      url: '/main/budget-setting/budget-organization',
      components: BudgetOrganizationComp,
      parent: 'budget-setting',
      tenant: true,
      children: {
        //参数设置
        budgetParameterSetting: {
          key: 'budget-parameter-setting',
          url: '/main/budget-setting/budget-organization/budget-parameter/budget-parameter-setting/:id',
          components: BudgetParameterSettingComp,
          parent: 'budget-organization'
        },
        //新建预算组织
        newBudgetOrganization: {
          key: 'new-budget-organization',
          url: '/main/budget-setting/budget-organization/new-budget-organization',
          components: NewBudgetOrganizationComp,
          parent: 'budget-organization'
        },
        //预算组织详情
        budgetOrganizationDetail: {
          key: 'budget-organization-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id',
          components: BudgetOrganizationDetailComp,
          parent: 'budget-setting'
        },
        //新建预算表
        newBudgetStructure: {
          key: 'new-budget-structure',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-structure/new-budget-structure',
          components: NewBudgetStructureComp,
          parent: 'budget-organization-detail'
        },
        //预算表详情
        budgetStructureDetail: {
          key: 'budget-structure-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-structure/budget-structure-detail/:structureId',
          components: BudgetStructureDetailComp,
          parent: 'budget-organization-detail',
          children: {}
        },
        //新建预算项目组
        newBudgetGroup: {
          key: 'new-budget-group',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-group/new-budget-group',
          components: NewBudgetGroupComp,
          parent: 'budget-organization-detail'
        },
        //新建预算项目组
        budgetGroupDetail: {
          key: 'budget-group-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-group/budget-group-detail/:groupId',
          components: BudgetGroupDetailComp,
          parent: 'budget-organization-detail'
        },
        //新建预算项目
        newBudgetItem: {
          key: 'new-budget-item',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-item/new-budget-item',
          components: NewBudgetItemComp,
          parent: 'budget-organization-detail'
        },
        //预算项目详情
        budgetItemDetail: {
          key: 'budget-item-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-item/budget-item-detail/:itemId',
          components: BudgetItemDetailComp,
          parent: 'budget-organization-detail'

        },
        //新建预算控制策略
        newBudgetStrategy: {
          key: 'new-budget-strategy',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-strategy/new-budget-strategy',
          components: NewBudgetStrategyComp,
          parent: 'budget-organization-detail'
        },
        //预算控制策略详情
        budgetStrategyDetail: {
          key: 'budget-strategy-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-strategy/budget-strategy-detail/:strategyId',
          components: BudgetStrategyDetailComp,
          parent: 'budget-organization-detail'
        },
        //新建预算控制策略详情
        newBudgetStrategyDetail: {
          key: 'new-budget-strategy-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-strategy/budget-strategy-detail/:strategyId/new-budget-strategy-detail',
          components: NewBudgetStrategyDetailComp,
          parent: 'budget-organization-detail'
        },
        //预算控制规则详情(策略明细)
        strategyControlDetail: {
          key: 'strategy-control-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-strategy/budget-strategy-detail/:strategyId/strategy-control-detail/:strategyControlId',
          components: StrategyControlDetailComp,
          parent: 'budget-organization-detail'
        },
        //新建预算日记账类型
        newBudgetJournalType: {
          key: 'new-budget-journal-type',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-journal-type/new-budget-journal-type',
          components: NewBudgetJournalTypeComp,
          parent: 'budget-journal-type'
        },
        //预算日记账详情
        budgetJournalTypeDetail: {
          key: 'budget-journal-type-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-journal-type/budget-journal-type-detail/:typeId',
          components: BudgetJournalTypeDetailComp,
          parent: 'budget-journal-type'
        },
        //新建预算控制规则定义
        newBudgetControlRules: {
          key: 'new-budget-control-rules',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-control-rules/new-budget-control-rules',
          components: NewBudgetControlRulesComp,
          parent: 'budget-organization-detail'
        },
        //预算控制规则详情
        budgetControlRulesDetail: {
          key: 'budget-control-rules-detail',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-control-rules/budget-control-rules-detail/:ruleId',
          components: BudgetControlRulesDetailComp,
          parent: 'budget-organization-detail'
        },
        //预算映射
        budgetItemMapSetting: {
          key: 'budget-item-map-setting',
          url: '/main/budget-setting/budget-organization/budget-organization-detail/:id/budget-item-map/budget-item-map-setting/:groupId',
          components: BudgetItemMapSettingComp,
          parent: 'budget-organization-detail'
        },

      }
    },
    //余额查询方案
    {
      key: 'budget-balance-solution',
      url: '/main/budget-setting/budget-balance-solution/:setOfBooksId',
      components: BudgetBalanceSolution,
      parent: 'budget-setting',
      tenant: true,
      children: {
        //新建预算余额方案
        newBudgetBalanceSolution: {
          key: 'new-budget-balance-solution',
          url: '/main/budget-setting/budget-balance-solution/new-budget-balance-solution/:setOfBooksId/:id',
          components: NewBudgetBalanceSolution,
          parent: 'budget-balance-solution'
        }
      }
    }
  ]
};

export default budgetSetting
